1. Field of the Invention
The present invention comprises a means for converting unconstrained binary data onto a run length limited format suitable for magnetic recording. The mapping is invertible in such a fashion that errors in detection result in a strictly limited number of errors in the decoded binary data stream.
Various ways have been proposed in the past for increasing the recorded linear density of data on magnetic media. The technique known as run length limited coding represents data on the magnetic medium by the presence or absence of transitions between saturation levels within slots of uniform width. Typically, it is required that there be a minimum (d) and a maximum (k) slots between such transitions, with the absence and presence of transitions represented respectively by a 0 and 1. Hence, the term (d,k) run length limited.
In many disk recording systems a good value for the parameter d is one. It is then desirable to minimize the value k while maximizing the transmission rate (number of bits per channel symbol. Another parameter of practical importance is the degree of error propagation limitation. This is measured by the maximum number of errors in the decoded error bits as the result of a single error in detection.
2. Description of the Prior Art
U.S. Pat. No. 3,689,899 to P. A. Franaszek discloses two possible (d,k) codes: a (1,8) and a (2,7). These data codes are variable length fixed rate codes. The coding rate of the (1,8) code is 2/3 and its code dictionary consists of 16 code words whose length vary from 3 to 9 bits, in multiples of 3. The (2,7) code has a rate of 1/2 and its dictionary consists of 7 words with length varying from 2 to 8 bits, in multiples of 2.
An article by T. Horiguchi and K. Morita, "An Optimization of Modulation Codes in Digital Recording", IEEE Transactions on Magnetics, Vol. MEG-12, No. 6, November 1976, p. 740, describes a variable length, fixed rate (1,7) rate 2/3 code. The coding technique described in this article, differs from that of the above invention in the method of decoding. Their (1,7) rate 2/3 code has an error propagation of 6 bits in a burst of 6.
An article entitled "Efficient Code for Digital Magnetic Recording" by P. A. Franaszek, in the IBM Technical Disclosure Bulletin, Vol. 23, No. 9, February 1981, page 4375, describes the principles used herein for the (1,7) rate 2/3 code. The apparatus disclosed herein differs from that of this article in that code word assignments have been permitted to simplify the encoding circuits and optimize error propagation limitation. Unlike the above work, the current encoder does not employ words of variable length.
Copending U.S. patent application, Ser. No. 283,758 filed July 16, 1981, entitled, "Method and Apparatus for Generating a Noiseless Sliding Block Code" for a (1,7) Channel with a Rate 2/3 of R. Adler, et al, as the title implies, discloses a sliding block code having the same (d,k) and rate i.e, 2/3, parameters as the present code. However, the coding method of this patent is a sequential scheme and employs look ahead at the decoder. The present scheme utilizes a bounded delay code which employs look ahead at the encoder as will be more fully described subsequently.